End.

nginx,log_format 配置说明


1、log_format 普通格式

    log_format weblog '$remote_addr - $remote_user [$time_local] "$request" '
         '$status $body_bytes_sent "$http_referer" '
         '"$http_user_agent" [$http_x_forwarded_for] $request_length '
         '$request_time $host $request_body [$time_iso8601] '
         '$http_host $upstream_addr - $upstream_response_time '
         '"$request_uri" [$request_id]';



2、log_format JSON 格式

log_format logJson '{
  "@timestamp": "$time_local", '
  '"@fields": { '
  '"remote_addr": "$remote_addr", '
  '"remote_user": "$remote_user", '
  '"body_bytes_sent": "$body_bytes_sent", '
  '"request_time": "$request_time", '
  '"status": "$status", '
  '"request": "$request", '
  '"request_method": "$request_method", '
  '"http_referrer": "$http_referer", '
  '"body_bytes_sent":"$body_bytes_sent", '
  '"http_x_forwarded_for": "$http_x_forwarded_for", '
  '"http_user_agent": "$http_user_agent" }
}';


3、使用指定日志格式

access_log /data/logs/nginx/access.log logJson buffer=32k;
access_log /data/logs/nginx/access.log weblog buffer=32k;



4、字段说明

$remote_addr客户端地址
$remote_user客户端用户名称
$time_local访问时间和时区
$request请求的URI和HTTP协议
$http_host请求地址,即浏览器中你输入的地址(IP或域名)
$statusHTTP请求状态
$upstream_statusupstream状态
$body_bytes_sent发送给客户端文件内容大小
$http_refererurl跳转来源
$http_user_agent用户终端浏览器等信息
$ssl_protocolSSL协议版本
$ssl_cipher交换数据中的算法
$upstream_addr后台upstream的地址,即真正提供服务的主机地址
$request_time整个请求的总时间
$upstream_response_time请求过程中,upstream响应时间
$request_bodypost请求数据


End.